home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 1.iso
/
ARGONET
/
PD
/
PROGRAMMING
/
LCLINT2.SPK
/
lib
/
h
/
unix
< prev
Wrap
Text File
|
1996-09-04
|
37KB
|
1,452 lines
/*
** unix.h
*/
/*@-nextlinemacros@*/
/*
** Extra stuff in some unixen, not in posix.
*/
/*@unchecked@*/ int signgam;
typedef /*@integraltype@*/ clockid_t;
extern void bcopy (char *b1, /*@out@*/ char *b2, int length)
/*@modifies *b2@*/ ; /* Yes, the second parameter is the out param! */
extern int /*@alt bool@*/ bcmp (char *b1, char *b2, int length) /*@*/ ;
/* Return value is NOT like strcmp! */
extern void bzero (/*@out@*/ char *b1, int length) /*@modifies *b1@*/ ;
extern int ffs (int i) /*@*/ ;
extern int symlink (char *name1, char *name2) /*@modifies fileSystem@*/ ;
extern int
setvbuf_unlocked (FILE *stream, /*@null@*/ /*@exposed@*/ char *buf,
int mode, size_t size)
/*@modifies internalState@*/ ;
extern void
setbuffer (FILE *stream, /*@null@*/ /*@exposed@*/ char *buf, int size)
/*@modifies internalState@*/ ;
extern void setlinebuf (FILE *stream) /*@modifies internalState@*/ ;
extern int strerror_r (int errnum, /*@out@*/ char *strerrbuf, int buflen)
/*@modifies strerrbuf@*/ ;
extern size_t
fread_unlocked (/*@out@*/ void *ptr, size_t size, size_t nitems,
FILE *stream)
/*@modifies *stream, *ptr;@*/ ;
extern size_t
fwrite_unlocked (void *pointer, size_t size, size_t num_items, FILE *stream)
/*@modifies *stream;@*/ ;
extern void funlockfile (FILE *file) /*@modifies *file;@*/ ;
extern void flockfile (FILE *file) /*@modifies *file@*/ ;
extern void /*@alt void * @*/
memccpy (/*@returned@*/ /*@out@*/ void *s1,
/*@unique@*/ void *s2, int c, size_t n)
/*@modifies *s1@*/ ;
extern int strcasecmp (char *s1, char *s2) /*@*/ ;
extern int strncasecmp (char *s1, char *s2, int n) /*@*/ ;
extern char *strdup (char *s) /*@*/ ;
extern /*@null@*/ char *tempnam (char *dir, /*@null@*/ char *pfx)
/*@modifies internalState@*/ ;
extern /*@null@*/ /*@dependent@*/ char *
index (/*@returned@*/ char *s, char c) /*@*/ ;
extern /*@null@*/ /*@dependent@*/ char *
rindex (/*@returned@*/ char *s, char c) /*@*/ ;
extern /*@dependent@*/ /*@null@*/ FILE *popen (char *command, char *ttype)
/*@modifies fileSystem, errno@*/ ;
extern int pclose (FILE *stream) /*@modifies fileSystem, *stream, errno@*/ ;
extern double cbrt (double x) /*@modifies errno@*/ ;
extern double rint (double x) /*@*/ ;
extern double trunc (double x) /*@*/ ;
/*@constant int ENOTBLK@*/
/*@constant int ETXTBSY@*/
/*@constant int EWOULDBLOCK@*/
/*@constant int EINPROGRESS@*/
/*@constant int EALREADY@*/
/*@constant int ENOTSOCK@*/
/*@constant int EDESTADDRREQ@*/
/*@constant int EMSGSIZE@*/
/*@constant int EPROTOTYPE@*/
/*@constant int ENOPROTOOPT@*/
/*@constant int EPROTONOSUPPORT@*/
/*@constant int ESOCKTNOSUPPORT@*/
/*@constant int EOPNOTSUPP@*/
/*@constant int EPFNOSUPPORT@*/
/*@constant int EAFNOSUPPORT@*/
/*@constant int EADDRINUSE@*/
/*@constant int EADDRNOTAVAIL@*/
/*@constant int ENETDOWN@*/
/*@constant int ENETUNREACH@*/
/*@constant int ENETRESET@*/
/*@constant int ECONNABORTED@*/
/*@constant int ECONNRESET@*/
/*@constant int ENOBUFS@*/
/*@constant int EISCONN@*/
/*@constant int ENOTCONN@*/
/*@constant int ESHUTDOWN@*/
/*@constant int ETOOMANYREFS@*/
/*@constant int ETIMEDOUT@*/
/*@constant int ECONNREFUSED@*/
/*@constant int ENAMETOOLONG@*/
/*@constant int EHOSTDOWN@*/
/*@constant int EHOSTUNREACH@*/
/*@constant int ENOTEMPTY@*/
/*@constant int EPROCLIM@*/
/*@constant int EUSERS@*/
/*@constant int EDQUOT@*/
/*@constant int ESTALE@*/
/*@constant int EREMOTE@*/
/*@constant int ENOMSG@*/
/*@constant int EIDRM@*/
/*@constant int EALIGN@*/
/*@constant int EDEADLK@*/
/*@constant int ENOLCK@*/
/*@constant int ENOSYS@*/
/*@constant int EACTIVE@*/
/*@constant int ENOACTIVE@*/
/*@constant int ENORESOURCES@*/
/*@constant int ENOSYSTEM@*/
/*@constant int ENODUST@*/
/*@constant int EDUPNOCONN@*/
/*@constant int EDUPNODISCONN@*/
/*@constant int EDUPNOTCNTD@*/
/*@constant int EDUPNOTIDLE@*/
/*@constant int EDUPNOTWAIT@*/
/*@constant int EDUPNOTRUN@*/
/*@constant int EDUPBADOPCODE@*/
/*@constant int EDUPINTRANSIT@*/
/*@constant int EDUPTOOMANYCPUS@*/
/*@constant int ELOOP@*/
/*@constant int LOCK_MAX@*/
/*@constant int FCHR_MAX@*/
/*@constant int USI_MAX@*/
/*@constant int WORD_BIT@*/
/*@constant int LONG_BIT@*/
/*@constant long NAME_MAX@*/
/*@constant long NGROUPS_MAX@*/
/*@constant long MAX_INPUT@*/
/*@constant long MAX_CANON@*/
/*@constant int MAX_CHAR@*/
/*@constant long OPEN_MAX@*/
/*@constant int PASS_MAX@*/
/*@constant int PATH_MAX@*/
/*@constant int PID_MAX@*/
/*@constant int SYSPID_MAX@*/
/*@constant long PIPE_BUF@*/
/*@constant int PIPE_MAX@*/
/*@constant int PROC_MAX@*/
/*@constant int STD_BLK@*/
/*@constant int SYS_NMLN@*/
/*@constant int SYS_OPEN@*/
/*@constant int NZERO@*/
/*@constant int UID_MAX@*/
/*@constant long MB_LEN_MAX@*/
/*@constant int NL_ARGMAX@*/
/*@constant int NL_MSGMAX@*/
/*@constant int NL_NMAX@*/
/*@constant int NL_SETMAX@*/
/*@constant int NL_TEXTMAX@*/
/*@constant int NL_LBLMAX@*/
/*@constant int NL_LANGMAX @*/
/*@constant double M_E@*/
/*@constant double M_LOG2E@*/
/*@constant double M_LOG10E@*/
/*@constant double M_LN2@*/
/*@constant double M_LN10@*/
/*@constant double M_PI@*/
/*@constant double M_PI_2@*/
/*@constant double M_PI_4@*/
/*@constant double M_1_PI@*/
/*@constant double M_2_PI@*/
/*@constant double M_2_SQRTPI@*/
/*@constant double M_SQRT2@*/
/*@constant double M_SQRT1_2@*/
/*@constant double MAXFLOAT@*/
/*@constant double HUGE@*/
/*@constant int DOMAIN@*/
/*@constant int SING@*/
/*@constant int OVERFLOW@*/
/*@constant int UNDERFLOW@*/
/*@constant int TLOSS@*/
/*@constant int PLOSS@*/
extern /*@unchecked@*/ int daylight;
extern /*@unchecked@*/ long timezone;
extern /*@unchecked@*/ char *tzname[];
/*@-incondefs@*/
extern void tzset(void) /*@modifies daylight, timezone, tzname@*/ ;
/*@=incondefs@*/
typedef unsigned char uchar_t;
typedef unsigned short ushort_t;
typedef unsigned int uint_t;
typedef unsigned long ulong_t;
typedef volatile unsigned char vuchar_t;
typedef volatile unsigned short vushort_t;
typedef volatile unsigned int vuint_t;
typedef volatile unsigned long vulong_t;
typedef long label_t;
typedef int level_t;
typedef /*@integraltype@*/ daddr_t;
typedef char *caddr_t;
typedef long *qaddr_t;
typedef char *addr_t;
typedef long physadr_t;
typedef short cnt_t;
typedef int chan_t;
typedef unsigned long rlim_t;
typedef int paddr_t;
typedef /*@integraltype@*/ key_t;
typedef void *mid_t;
typedef char slab_t[12];
typedef ulong_t shmatt_t;
typedef ulong_t msgqnum_t;
typedef ulong_t msglen_t;
typedef long timer_t;
typedef uchar_t uchar;
typedef ushort_t ushort;
typedef uint_t uint;
typedef ulong_t ulong;
typedef uchar_t u_char;
typedef ushort_t u_short;
typedef uint_t u_int;
typedef ulong_t u_long;
typedef vuchar_t vu_char;
typedef vushort_t vu_short;
typedef vuint_t vu_int;
typedef vulong_t vu_long;
typedef long swblk_t;
typedef u_long fixpt_t;
typedef long segsz_t;
typedef /*@abstract@*/ fd_set;
int ttyname_r (int fg, /*@out@*/ char *buffer, int len) /*@modifies buffer@*/ ;
int ioctl (int d, int /*@alt long@*/ request, /*@out@*/ void *arg)
/*@modifies *arg, errno@*/ ; /* depends on request! */
int gethostname (/*@out@*/ char *address, int address_len)
/*@modifies address@*/ ;
pid_t vfork (void) /*@modifies fileSystem@*/ ;
struct iovec {
void *iov_base;
size_t iov_len;
};
/*@constant int UIO_MAXIOV@*/ /* BSD */
/*@constant int IOV_MAX@*/ /* supposedly SVR4 */
extern ssize_t
readv (int fd, const struct iovec iov[], int iovcnt)
/*@modifies iov[].iov_base, fileSystem, errno@*/;
extern ssize_t
writev (int fd, const struct iovec iov[], int iovcnt)
/*@modifies errno@*/;
/*________________________________________________________________________
* poll.h
*/
struct poll {
int fd;
short events;
short revents;
};
/*@constant short POLLIN@*/
/*@constant short POLLRDNORM@*/
/*@constant short POLLRDBAND@*/
/*@constant short POLLPRI@*/
/*@constant short POLLOUT@*/
/*@constant short POLLWRNORM@*/
/*@constant short POLLWRBAND@*/
/*@constant short POLLERR@*/
/*@constant short POLLHUP@*/
/*@constant short POLLNVAL@*/
extern int poll (struct poll pollfd[], unsigned long nfds, int timeout)
/*@modifies pollfd[].revents, errno@*/ ;
/*
** free does not take null
*/
/*@-incondefs@*/
extern void free (/*@notnull@*/ /*@out@*/ /*@only@*/ void *p) /*@modifies *p@*/ ;
/*@=incondefs@*/
/*________________________________________________________________________
* sys/socket.h
*/
/*@constant int SOCK_STREAM@*/
/*@constant int SOCK_DGRAM@*/
/*@constant int SOCK_RAW@*/
/*@constant int SOCK_RDM@*/
/*@constant int SOCK_SEQPACKET@*/
/*@constant int SO_DEBUG@*/
/*@constant int SO_ACCEPTCONN@*/
/*@constant int SO_REUSEADDR@*/
/*@constant int SO_KEEPALIVE@*/
/*@constant int SO_DONTROUTE@*/
/*@constant int SO_BROADCAST@*/
/*@constant int SO_USELOOPBACK@*/
/*@constant int SO_LINGER@*/
/*@constant int SO_OOBINLINE@*/
/*@constant int SO_REUSEPORT@*/
/*@constant int SO_SNDBUF@*/
/*@constant int SO_RCVBUF@*/
/*@constant int SO_SNDLOWAT@*/
/*@constant int SO_RCVLOWAT@*/
/*@constant int SO_SNDTIMEO@*/
/*@constant int SO_RCVTIMEO@*/
/*@constant int SO_ERROR@*/
/*@constant int SO_TYPE@*/
/*@constant int SOL_SOCKET@*/
/*@constant int AF_UNSPEC@*/
/*@constant int AF_LOCAL@*/
/*@constant int AF_UNIX@*/
/*@constant int AF_INET@*/
/*@constant int AF_IMPLINK@*/
/*@constant int AF_PUP@*/
/*@constant int AF_CHAOS@*/
/*@constant int AF_NS@*/
/*@constant int AF_ISO@*/
/*@constant int AF_OSI@*/
/*@constant int AF_ECMA@*/
/*@constant int AF_DATAKIT@*/
/*@constant int AF_CCITT@*/
/*@constant int AF_SNA@*/
/*@constant int AF_DECnet@*/
/*@constant int AF_DLI@*/
/*@constant int AF_LAT@*/
/*@constant int AF_HYLINK@*/
/*@constant int AF_APPLETALK@*/
/*@constant int AF_ROUTE@*/
/*@constant int AF_LINK@*/
/*@constant int pseudo_AF_XTP@*/
/*@constant int AF_COIP@*/
/*@constant int AF_CNT@*/
/*@constant int pseudo_AF_RTIP@*/
/*@constant int AF_IPX@*/
/*@constant int AF_SIP@*/
/*@constant int pseudo_AF_PIP@*/
/*@constant int AF_ISDN@*/
/*@constant int AF_E164@*/
/*@constant int AF_MAX@*/
/*@constant int MSG_OOB@*/
/*@constant int MSG_PEEK@*/
/*@constant int MSG_DONTROUTE@*/
/*@constant int MSG_EOR@*/
/*@constant int MSG_TRUNC@*/
/*@constant int MSG_CTRUNC@*/
/*@constant int MSG_WAITALL@*/
/*@constant int MSG_DONTWAIT@*/
/*@constant int MSG_EOF@*/
/*@constant int MSG_COMPAT@*/
/*@constant int PF_UNSPEC@*/
/*@constant int PF_LOCAL@*/
/*@constant int PF_UNIX@*/
/*@constant int PF_INET@*/
/*@constant int PF_IMPLINK@*/
/*@constant int PF_PUP@*/
/*@constant int PF_CHAOS@*/
/*@constant int PF_NS@*/
/*@constant int PF_ISO@*/
/*@constant int PF_OSI@*/
/*@constant int PF_ECMA@*/
/*@constant int PF_DATAKIT@*/
/*@constant int PF_CCITT@*/
/*@constant int PF_SNA@*/
/*@constant int PF_DECnet@*/
/*@constant int PF_DLI@*/
/*@constant int PF_LAT@*/
/*@constant int PF_HYLINK@*/
/*@constant int PF_APPLETALK@*/
/*@constant int PF_ROUTE@*/
/*@constant int PF_LINK@*/
/*@constant int PF_XTP@*/
/*@constant int PF_COIP@*/
/*@constant int PF_CNT@*/
/*@constant int PF_SIP@*/
/*@constant int PF_IPX@*/
/*@constant int PF_RTIP@*/
/*@constant int PF_PIP@*/
/*@constant int PF_ISDN@*/
/*@constant int PF_MAX@*/
/*@constant int NET_MAXID@*/
/*@constant int NET_RT_DUMP@*/
/*@constant int NET_RT_FLAGS@*/
/*@constant int NET_RT_IFLIST@*/
/*@constant int NET_RT_MAXID@*/
/*@constant int SOMAXCONN@*/
/*@constant int SCM_RIGHTS@*/
struct sockaddr {
u_char sa_len; /* total length */
u_char sa_family; /* address family */
char sa_data[14]; /* actually longer; address value */
};
struct linger {
int l_onoff; /* option on/off */
int l_linger; /* linger time */
};
struct sockproto {
u_short sp_family; /* address family */
u_short sp_protocol; /* protocol */
};
struct msghdr {
caddr_t msg_name; /* optional address */
u_int msg_namelen; /* size of address */
struct iovec *msg_iov; /* scatter/gather array */
u_int msg_iovlen; /* # elements in msg_iov */
caddr_t msg_control; /* ancillary data, see below */
u_int msg_controllen; /* ancillary data buffer len */
int msg_flags; /* flags on received message */
};
struct cmsghdr {
u_int cmsg_len; /* data byte count, including hdr */
int cmsg_level; /* originating protocol */
int cmsg_type; /* protocol-specific type */
/* followed by u_char cmsg_data[]; */
};
extern int
accept (int s, struct sockaddr *addr, int *addrlen)
/*@modifies *addrlen, errno@*/;
extern int
bind (int s, struct sockaddr *name, int namelen)
/*@modifies errno, fileSystem@*/;
extern int
connect (int s, struct sockaddr *name, int namelen)
/*@modifies errno, internalState@*/;
extern int
getpeername (int s, /*@out@*/ struct sockaddr *name, int *namelen)
/*@modifies *name, *namelen, errno@*/;
extern int
getsockname (int s, struct sockaddr *name, int *namelen)
/*@modifies *name, *namelen, errno@*/;
extern int
getsockopt (int s, int level, int optname, /*@out@*/ void *optval, int *optlen)
/*@modifies *optval, *optlen, errno@*/;
extern int
listen (int s, int backlog)
/*@modifies errno, internalState@*/;
extern ssize_t
recv (int s, /*@out@*/ void *buf, size_t len, int flags)
/*@modifies *buf, errno@*/;
extern ssize_t
recvfrom (int s, void *buf, size_t len, int flags, /*@null@*/ struct sockaddr *from, int *fromlen)
/*@modifies *buf, *from, *fromlen, errno@*/;
extern ssize_t
recvmsg (int s, struct msghdr *msg, int flags)
/*@modifies msg->msg_iov->iov_base[], errno@*/;
extern ssize_t
send (int s, const void *msg, size_t len, int flags)
/*@modifies errno@*/;
extern ssize_t
sendto (int s, const void *msg, size_t len, int flags, const struct sockaddr *to, int tolen)
/*@modifies errno@*/;
extern ssize_t
sendmsg (int s, const struct msghdr *msg, int flags)
/*@modifies errno@*/;
extern int
setsockopt (int s, int level, int optname, const void *optval, int optlen)
/*@modifies internalState, errno@*/;
extern int
shutdown (int s, int how)
/*@modifies errno@*/;
extern int
socket (int domain, int type, int protocol)
/*@modifies errno@*/;
extern int
socketpair (int d, int type, int protocol, /*@out@*/ int *sv)
/*@modifies errno@*/;
/*@constant int BADSIG@*/
/*@constant int SA_ONSTACK@*/
/*@constant int SA_RESTART@*/
/*@constant int SA_DISABLE@*/
/*@constant int SIGBUS@*/
/*@constant int SIGEMT@*/
/*@constant int SIGINFO@*/
/*@constant int SIGIO@*/
/*@constant int SIGIOT@*/
/*@constant int SIGPOLL@*/
/*@constant int SIGPROF@*/
/*@constant int SIGPWR@*/
/*@constant int SIGSYS@*/
/*@constant int SIGTRAP@*/
/*@constant int SIGURG@*/
/*@constant int SIGVTALRM@*/
/*@constant int SIGWINCH@*/
/*@constant int SIGXCPU@*/
/*@constant int SIGXFSZ@*/
extern void psignal (int sig, const char *msg)
/*@modifies fileSystem@*/;
/*@unchecked@*/ extern char *optarg;
/*@unchecked@*/ extern int optind;
/*@unchecked@*/ extern int optopt;
/*@unchecked@*/ extern int opterr;
/*@unchecked@*/ extern int optreset;
extern int
getopt (int argc, char * const *argv, const char *optstring)
/*@globals optarg, optind, optopt, opterr, optreset@*/
/*@modifies optarg, optind, optopt@*/;
extern int
setenv (const char *name, const char *value, int overwrite)
/*@globals environ@*/
/*@modifies *environ, errno@*/;
extern int
putenv (const char *string)
/*@globals environ@*/
/*@modifies *environ, errno@*/;
extern void
unsetenv (const char *name)
/*@globals environ@*/
/*@modifies *environ@*/;
/*________________________________________________________________________
* sys/wait.h
*/
extern int
WCOREDUMP (int x)
/*@*/;
extern int
W_EXITCODE (int ret, int sig)
/*@*/;
extern int
W_STOPCODE (int sig)
/*@*/;
/*@constant int WAIT_ANY@*/
/*@constant int WAIT_MYPGRP@*/
/*@constant int WSTOPPED@*/
extern pid_t
wait3 (int *statloc, int options, /*@null@*/ /*@out@*/ struct rusage *rusage)
/*@modifies *statloc, *rusage, errno@*/;
extern pid_t
wait4 (pid_t p, int *statloc, int opt, /*@null@*/ /*@out@*/ struct rusage *r)
/*@modifies *statloc, *r, errno@*/;
struct timeval {
long tv_sec;
long tv_usec;
} ;
struct timespec {
long ts_sec;
long ts_nsec;
} ;
struct timezone {
int tz_minuteswest;
int tz_dsttime;
} ;
/*@constant int DST_NONE@*/
/*@constant int DST_USA@*/
/*@constant int DST_AUST@*/
/*@constant int DST_WET@*/
/*@constant int DST_MET@*/
/*@constant int DST_EET@*/
/*@constant int DST_CAN@*/
/*@constant int ITIMER_PROF@*/
/*@constant int ITIMER_REAL@*/
/*@constant int ITIMER_VIRTUAL@*/
struct itimerval {
struct timeval it_interval;
struct timeval it_value;
};
struct clockinfo {
int hz;
int tick;
int stathz;
int profhz;
};
extern int
adjtime (const struct timeval *delta, /*@null@*/ /*@out@*/ struct timeval *olddelta)
/*@modifies internalState, *olddelta, errno@*/;
extern int
getitimer (int which, /*@out@*/ struct itimerval *value)
/*@modifies errno, *value*/;
extern int
gettimeofday (/*@null@*/ /*@out@*/ struct timeval *tp, /*@null@*/ /*@out@*/ struct timezone *tzp)
/*@modifies *tp, *tzp, errno@*/;
extern int
setitimer (int which, struct itimerval *val, /*@null@*/ /*@out@*/ struct itimerval *oval)
/*@modifies *oval, errno, internalState*/;
extern int
settimeofday (const struct timeval *t, const struct timezone *z)
/*@modifies internalState, errno@*/;
extern int
utimes (const char *file, /*@null@*/ const struct timeval *times)
/*@modifies fileSystem, errno*/;
/*________________________________________________________________________
* sys/mman.h
*/
/*@constant int PROT_READ@*/
/*@constant int PROT_WRITE@*/
/*@constant int PROT_EXEC@*/
/*@constant int MAP_SHARED@*/
/*@constant int MAP_PRIVATE@*/
/*@constant int MAP_COPY@*/
/*@constant int MAP_FIXED@*/
/*@constant int MAP_RENAME@*/
/*@constant int MAP_NORESERVE@*/
/*@constant int MAP_INHERIT@*/
/*@constant int MAP_NOEXTEND@*/
/*@constant int MAP_HASSEMAPHORE@*/
/*@constant int MS_ASYNC@*/
/*@constant int MS_INVALIDATE@*/
/*@constant int MAP_FILE@*/
/*@constant int MAP_ANON@*/
/*@constant int MADV_NORMAL@*/
/*@constant int MADV_RANDOM@*/
/*@constant int MADV_SEQUENTIAL@*/
/*@constant int MADV_WILLNEED@*/
/*@constant int MADV_DONTNEED@*/
extern caddr_t
mmap (/*@null@*/ /*@returned@*/ caddr_t addr, size_t len, int prot, int flags, int fd, off_t offset)
/*@modifies addr@*/;
extern int
madvise (caddr_t addr, int len, int behav)
/*@*/;
extern int
mprotect (caddr_t addr, int len, int prot)
/*@*/;
extern int
munmap (caddr_t addr, size_t len)
/*@*/;
extern int
msync (caddr_t addr, int len, int flags)
/*@*/;
extern int
mlock (caddr_t addr, size_t len)
/*@*/;
extern int
munlock (caddr_t addr, size_t len)
/*@*/;
/*________________________________________________________________________
* sys/ioctl.h
*/
struct winsize {
unsigned short ws_row;
unsigned short ws_col;
unsigned short ws_xpixel;
unsigned short ws_ypixel;
};
/*@constant int TIOCMODG@*/
/*@constant int TIOCMODS@*/
/*@constant int TIOCM_LE@*/
/*@constant int TIOCM_DTR@*/
/*@constant int TIOCM_RTS@*/
/*@constant int TIOCM_ST@*/
/*@constant int TIOCM_SR@*/
/*@constant int TIOCM_CTS@*/
/*@constant int TIOCM_CAR@*/
/*@constant int TIOCM_CD@*/
/*@constant int TIOCM_RNG@*/
/*@constant int TIOCM_RI@*/
/*@constant int TIOCM_DSR@*/
/*@constant int TIOCEXCL@*/
/*@constant int TIOCNXCL@*/
/*@constant int TIOCFLUSH@*/
/*@constant int TIOCGETA@*/
/*@constant int TIOCSETA@*/
/*@constant int TIOCSETAW@*/
/*@constant int TIOCSETAF@*/
/*@constant int TIOCGETD@*/
/*@constant int TIOCSETD@*/
/*@constant int TIOCSBRK@*/
/*@constant int TIOCCBRK@*/
/*@constant int TIOCSDTR@*/
/*@constant int TIOCCDTR@*/
/*@constant int TIOCGPGRP@*/
/*@constant int TIOCSPGRP@*/
/*@constant int TIOCOUTQ@*/
/*@constant int TIOCSTI@*/
/*@constant int TIOCNOTTY@*/
/*@constant int TIOCPKT@*/
/*@constant int TIOCPKT_DATA@*/
/*@constant int TIOCPKT_FLUSHREAD@*/
/*@constant int TIOCPKT_FLUSHWRITE@*/
/*@constant int TIOCPKT_STOP@*/
/*@constant int TIOCPKT_START@*/
/*@constant int TIOCPKT_NOSTOP@*/
/*@constant int TIOCPKT_DOSTOP@*/
/*@constant int TIOCPKT_IOCTL@*/
/*@constant int TIOCSTOP@*/
/*@constant int TIOCSTART@*/
/*@constant int TIOCMSET@*/
/*@constant int TIOCMBIS@*/
/*@constant int TIOCMBIC@*/
/*@constant int TIOCMGET@*/
/*@constant int TIOCREMOTE@*/
/*@constant int TIOCGWINSZ@*/
/*@constant int TIOCSWINSZ@*/
/*@constant int TIOCUCNTL@*/
/*@constant int TIOCSTAT@*/
/*@constant int TIOCCONS@*/
/*@constant int TIOCSCTTY@*/
/*@constant int TIOCEXT@*/
/*@constant int TIOCSIG@*/
/*@constant int TIOCDRAIN@*/
/*@constant int TIOCMSDTRWAIT@*/
/*@constant int TIOCMGDTRWAIT@*/
/*@constant int TIOCTIMESTAMP@*/
/*@constant int TIOCSDRAINWAIT@*/
/*@constant int TIOCGDRAINWAIT@*/
/*@constant int TTYDISC@*/
/*@constant int TABLDISC@*/
/*@constant int SLIPDISC@*/
/*@constant int PPPDISC@*/
/*@constant int MAXHOSTNAMELEN@*/
extern void
FD_CLR (int n, fd_set *p)
/*@modifies *p@*/;
extern void
FD_COPY (fd_set *f, /*@out@*/ fd_set *t)
/*@modifies *t@*/;
extern int /*@alt bool@*/
FD_ISSET (int n, fd_set *p)
/*@*/;
extern void
FD_SET (int n, fd_set *p)
/*@modifies *p@*/;
extern void
FD_ZERO (fd_set /*@out@*/ *p)
/*@modifies *p@*/;
extern int
fchdir (int fd)
/*@modifies internalState, errno@*/;
extern int
fchown (int fd, uid_t owner, gid_t group)
/*@modifies errno, fileSystem@*/;
extern int
fsync (int fd)
/*@modifies errno, fileSystem@*/;
extern int
ftruncate (int fd, off_t length)
/*@modifies errno, fileSystem@*/;
extern int
gethostname (/*@out@*/ char *name, int namlen)
/*@modifies *name@*/;
extern int
initgroups (const char *name, int basegid)
/*@modifies internalState@*/;
extern int
lchown (const char *path, uid_t owner, gid_t group)
/*@modifies errno, fileSystem@*/;
extern int
readlink (const char *path, /*@out@*/ char *buf, int size)
/*@modifies *buf, errno@*/;
extern int
select (int mfd, fd_set /*@null@*/ *r, fd_set /*@null@*/ *w, fd_set /*@null@*/ *e, struct timeval *t)
/*@modifies *r, *w, *e, *t, errno@*/;
extern int
setegid (gid_t egid)
/*@modifies errno, internalState@*/;
extern int
seteuid (uid_t euid)
/*@modifies errno, internalState@*/;
extern int
setgroups (int ngroups, const gid_t *gidset)
/*@modifies errno, internalState@*/;
extern int
setregid (gid_t rgid, gid_t egid)
/*@modifies errno, internalState@*/;
extern int
setreuid (gid_t ruid, gid_t euid)
/*@modifies errno, internalState@*/;
extern void
sync (void)
/*@modifies fileSystem@*/;
extern int
symlink (const char *path, const char *path2)
/*@modifies fileSystem@*/;
extern int
truncate (const char *name, off_t length)
/*@modifies errno, fileSystem@*/;
/*@constant int EBADRPC@*/
/*@constant int ERPCMISMATCH@*/
/*@constant int EPROGUNAVAIL@*/
/*@constant int EPROGMISMATCH@*/
/*@constant int EPROCUNAVAIL@*/
/*@constant int EFTYPE@*/
/*@constant int EAUTH@*/
/*@constant int ENEEDAUTH@*/
/*@constant int ELAST@*/
/*________________________________________________________________________
* tar.h
*/
/*@unchecked@*/ extern char *TMAGIC;
/*@constant int TMAGLEN@*/
/*@unchecked@*/ extern char *TVERSION;
/*@constant int TVERSLEN@*/
/*@constant int REGTYPE@*/
/*@constant int AREGTYPE@*/
/*@constant int LNKTYPE@*/
/*@constant int SYMTYPE@*/
/*@constant int CHRTYPE@*/
/*@constant int BLKTYPE@*/
/*@constant int DIRTYPE@*/
/*@constant int FIFOTYPE@*/
/*@constant int CONTTYPE@*/
/*@constant int TSUID@*/
/*@constant int TSGID@*/
/*@constant int TSVTX@*/
/*@constant int TUREAD@*/
/*@constant int TUWRITE@*/
/*@constant int TUEXEC@*/
/*@constant int TGREAD@*/
/*@constant int TGWRITE@*/
/*@constant int TGEXEC@*/
/*@constant int TOREAD@*/
/*@constant int TOWRITE@*/
/*@constant int TOEXEC@*/
struct ipc_perm {
uid_t uid; /* user id */
gid_t gid; /* group id */
uid_t cuid; /* creator user id */
gid_t cgid; /* creator group id */
mode_t mode; /* r/w permission */
ulong seq; /* slot usage sequence number */
key_t key; /* user specified msg/sem/shm key */
} ;
/*@constant int IPC_R@*/
/*@constant int IPC_W@*/
/*@constant int IPC_M@*/
/*@constant int IPC_CREAT@*/
/*@constant int IPC_EXCL@*/
/*@constant int IPC_NOWAIT@*/
/*@constant key_t IPC_PRIVATE@*/
/*@constant int IPC_RMID@*/
/*@constant int IPC_SET@*/
/*@constant int IPC_STAT@*/
/*________________________________________________________________________
* sys/msg.h
*/
struct msqid_ds {
struct ipc_perm msg_perm; /* msg queue permission bits */
struct msg *msg_first; /* first message in the queue */
struct msg *msg_last; /* last message in the queue */
u_long msg_cbytes; /* number of bytes in use on the queue */
u_long msg_qnum; /* number of msgs in the queue */
u_long msg_qbytes; /* max # of bytes on the queue */
pid_t msg_lspid; /* pid of last msgsnd() */
pid_t msg_lrpid; /* pid of last msgrcv() */
time_t msg_stime; /* time of last msgsnd() */
time_t msg_rtime; /* time of last msgrcv() */
time_t msg_ctime; /* time of last msgctl() */
};
struct mymesg {
long mtype; /* message type (+ve integer) */
char mtext[]; /* message body */
};
/*@constant int MSG_NOERROR@*/
/*@constant int MSGMAX@*/
/*@constant int MSGMNB@*/
/*@constant int MSGMNI@*/
/*@constant int MSGTQL@*/
extern int
msgctl (int id , int cmd, /*@out@*/ struct msqid_ds *buf)
/*@modifies errno, *buf@*/;
extern int
msgget (key_t key, int flag)
/*@modifies errno@*/;
extern int
msgrcv (int id, /*@out@*/ void *ptr, size_t nbytes, long type, int flags)
/*@modifies errno, *ptr@*/;
extern int
msgsnd (int id, const void *ptr, size_t nbytes, int flag)
/*@modifies errno@*/;
/*________________________________________________________________________
* sys/sem.h
*/
struct semid_ds {
struct ipc_perm sem_perm;
struct sem *sem_base;
ushort sem_nsems;
time_t sem_otime;
time_t sem_ctime;
};
struct sem {
ushort semval;
pid_t sempid;
ushort semncnt;
ushort semzcnt;
};
union semun {
int val;
struct semid_ds *buf;
ushort *array;
};
struct sembuf {
ushort sem_num;
short sem_op;
short sem_flg;
};
/*@constant int SEM_A@*/
/*@constant int SEMAEM@*/
/*@constant int SEMMNI@*/
/*@constant int SEMMNS@*/
/*@constant int SEMMNU@*/
/*@constant int SEMMSL@*/
/*@constant int SEMOPN@*/
/*@constant int SEM_R@*/
/*@constant int SEMUME@*/
/*@constant int SEM_UNDO@*/
/*@constant int SEMVMX@*/
/*@constant int GETVAL@*/
/*@constant int SETVAL@*/
/*@constant int GETPID@*/
/*@constant int GETNCNT@*/
/*@constant int GETZCNT@*/
/*@constant int GETALL@*/
/*@constant int SETALL@*/
/*@constant int ERMID@*/
extern int
semctl (int id, int semnum, int cmd, union semun arg)
/*@modifies errno@*/;
extern int
semget (key_t key, int nsems, int flag)
/*@modifies errno@*/;
extern int
semop (int id, struct sembuf *semoparray, size_t nops)
/*@modifies errno@*/;
/*________________________________________________________________________
* sys/shm.h
*/
struct shmid_ds {
struct ipc_perm shm_perm;
int shm_segsz;
ushort shm_lkcnt;
pid_t shm_lpid;
pid_t shm_cpid;
ulong shm_nattch;
ulong shm_cnattch;
time_t shm_atime;
time_t shm_dtime;
time_t shm_ctime;
};
/*@constant int SHMLBA@*/
/*@constant int SHM_LOCK@*/
/*@constant int SHMMAX@*/
/*@constant int SHMMIN@*/
/*@constant int SHMMNI@*/
/*@constant int SHM_R@*/
/*@constant int SHM_RDONLY@*/
/*@constant int SHM_RND@*/
/*@constant int SHMSEG@*/
/*@constant int SHM_W@*/
/*@constant int SHM_UNLOCK@*/
void *
shmat (int id, /*@null@*/ void *addr, int flag)
/*@modifies errno@*/;
extern int
shmctl (int id, int cmd, /*@out@*/ struct shmid_ds *buf)
/*@modifies errno, *buf@*/;
extern int
shmdt (void *addr)
/*@modifies errno@*/;
extern int
shmget (key_t key, int size, int flag)
/*@modifies errno@*/;
/*________________________________________________________________________
* regex.h -- intended to be POSIX 1003.2 compliant
*/
typedef off_t regoff_t;
typedef struct {
int re_magic;
size_t re_nsub; /* number of parenthesized subexpressions */
char *re_endp; /* end pointer for REG_PEND */
struct re_guts *re_g; /* none of your business :-) */
} regex_t;
typedef struct {
regoff_t rm_so; /* start of match */
regoff_t rm_eo; /* end of match */
} regmatch_t;
/* regcomp() flags */
/*@constant int REG_BASIC@*/
/*@constant int REG_EXTENDED@*/
/*@constant int REG_ICASE@*/
/*@constant int REG_NOSUB@*/
/*@constant int REG_NEWLINE@*/
/*@constant int REG_NOSPEC@*/
/*@constant int REG_PEND@*/
/*@constant int REG_DUMP@*/
/* regerror() flags */
/*@constant int REG_NOMATCH@*/
/*@constant int REG_BADPAT@*/
/*@constant int REG_ECOLLATE@*/
/*@constant int REG_ECTYPE@*/
/*@constant int REG_EESCAPE@*/
/*@constant int REG_ESUBREG@*/
/*@constant int REG_EBRACK@*/
/*@constant int REG_EPAREN@*/
/*@constant int REG_EBRACE@*/
/*@constant int REG_BADBR@*/
/*@constant int REG_ERANGE@*/
/*@constant int REG_ESPACE@*/
/*@constant int REG_BADRPT@*/
/*@constant int REG_EMPTY@*/
/*@constant int REG_ASSERT@*/
/*@constant int REG_INVARG@*/
/*@constant int REG_ATOI@*/ /* non standard */
/*@constant int REG_ITOA@*/ /* non standard */
/* regexec() flags */
/*@constant int REG_NOTBOL@*/
/*@constant int REG_NOTEOL@*/
/*@constant int REG_STARTEND@*/
/*@constant int REG_TRACE@*/
/*@constant int REG_LARGE@*/
/*@constant int REG_BACKR@*/
extern int
regcomp (/*@out@*/ regex_t *preg, const char *pattern, int flags)
/*@modifies *preg@*/;
extern size_t
regerror (int code, const regex_t *re, /*@out@*/ char *errbuf, size_t bufsize)
/*@modifies *errbuf@*/;
extern int
regexec (const regex_t *preg, const char *s, size_t n, /*@out@*/ regmatch_t *m, int f)
/*@modifies *m@*/;
extern void
regfree (regex_t *p)
/*@modifies *p@*/;
/*________________________________________________________________________
* syslog.h
*/
/*@constant int LOG_EMERG@*/
/*@constant int LOG_ALERT@*/
/*@constant int LOG_CRIT@*/
/*@constant int LOG_ERR@*/
/*@constant int LOG_WARNING@*/
/*@constant int LOG_NOTICE@*/
/*@constant int LOG_INFO@*/
/*@constant int LOG_DEBUG@*/
/*@constant int LOG_KERN@*/
/*@constant int LOG_USER@*/
/*@constant int LOG_MAIL@*/
/*@constant int LOG_DAEMON@*/
/*@constant int LOG_AUTH@*/
/*@constant int LOG_SYSLOG@*/
/*@constant int LOG_LPR@*/
/*@constant int LOG_NEWS@*/
/*@constant int LOG_UUCP@*/
/*@constant int LOG_CRON@*/
/*@constant int LOG_AUTHPRIV@*/
/*@constant int LOG_FTP@*/
/*@constant int LOG_LOCAL0@*/
/*@constant int LOG_LOCAL1@*/
/*@constant int LOG_LOCAL2@*/
/*@constant int LOG_LOCAL3@*/
/*@constant int LOG_LOCAL4@*/
/*@constant int LOG_LOCAL5@*/
/*@constant int LOG_LOCAL6@*/
/*@constant int LOG_LOCAL7@*/
/*@constant int LOG_PID@*/
/*@constant int LOG_CONS@*/
/*@constant int LOG_ODELAY@*/
/*@constant int LOG_NDELAY@*/
/*@constant int LOG_NOWAIT@*/
/*@constant int LOG_PERROR@*/
extern int
LOG_MASK (int pri)
/*@*/;
extern int
LOG_UPTO (int pri)
/*@*/;
extern void
closelog (void)
/*@modifies fileSystem@*/;
extern void
openlog (const char *ident, int logopt, int facility)
/*@modifies fileSystem@*/;
extern int
setlogmask (int maskpri)
/*@modifies internalState@*/;
extern void /*@printflike@*/
syslog (int priority, const char *message, ...)
/*@modifies fileSystem@*/;
extern void
vsyslog (int priority, const char *message, va_list args)
/*@modifies fileSystem@*/;
/*________________________________________________________________________
* pwd.h
*/
extern extern void
endpwent (void)
/*@modifies internalState@*/;
extern /*@null@*/ struct passwd *
getpwent (void)
/*@modifies internalState@*/;
extern int
setpassent (int stayopen)
/*@modifies internalState@*/;
extern int
setpwent (void)
/*@modifies internalState@*/;
/*________________________________________________________________________
* grp.h
*/
extern void
endgrent (void)
/*@modifies internalState@*/;
extern /*@null@*/ struct group *
getgrent (void)
/*@modifies internalState@*/;
extern int
setgrent (void)
/*@modifies internalState@*/;
extern void
setgrfile (const char *name)
/*@modifies internalState@*/;
extern int
setgroupent (int stayopen)
/*@modifies internalState@*/;
/*________________________________________________________________________
* sys/stat.h
*/
/*@constant int S_ISTXT@*/
/*@constant int S_IREAD@*/
/*@constant int S_IWRITE@*/
/*@constant int S_IEXEC@*/
/*@constant int S_IFMT@*/
/*@constant int S_IFIFO@*/
/*@constant int S_IFCHR@*/
/*@constant int S_IFDIR@*/
/*@constant int S_IFBLK@*/
/*@constant int S_IFREG@*/
/*@constant int S_IFLNK@*/
/*@constant int S_IFSOCK@*/
/*@constant int S_ISVTX@*/
/*@constant int S_ISVTX@*/
/*@constant int SF_SETTABLE@*/
/*@constant int SF_ARCHIVED@*/
/*@constant int ACCESSPERMS@*/
/*@constant int ALLPERMS@*/
/*@constant int DEFFILEMODE@*/
/*@constant int S_BLKSIZE@*/
/*@constant int SF_IMMUTABLE@*/
/*@constant int SF_APPEND@*/
/*@constant int UF_NODUMP@*/
/*@constant int UF_IMMUTABLE@*/
/*@constant int UF_APPEND@*/
extern int /*@alt bool@*/
S_ISLNK (/*@sef@*/ mode_t m)
/*@*/;
extern int /*@alt bool@*/
S_ISSOCK (/*@sef@*/ mode_t m)
/*@*/;
extern int
chflags (const char *path, u_long flags)
/*@modifies fileSystem, errno@*/;
extern int
fchflags (int fd, u_long flags)
/*@modifies fileSystem, errno@*/;
extern int
fchmod (int fd, mode_t mode)
/*@modifies fileSystem, errno@*/;
extern int
lstat (const char *path, /*@out@*/ struct stat *buf)
/*@modifies errno, *buf@*/;
/*________________________________________________________________________
* stropts.h
*/
/*@constant int FMNAMESZ@*/
/*@constant int MSG_BAND@*/
/*@constant int MSG_HIPRI@*/
/*@constant int RS_HIPRI@*/
/*@constant int S_INPUT@*/
/*@constant int S_RDNORM@*/
/*@constant int S_RDBAND@*/
/*@constant int S_BANDURG@*/
/*@constant int S_HIPRI@*/
/*@constant int S_OUTPUT@*/
/*@constant int S_WRNORM@*/
/*@constant int S_WRBAND@*/
/*@constant int S_MSG@*/
/*@constant int S_ERROR@*/
/*@constant int S_HANGUP@*/
struct strbuf {
int maxlen;
int len;
char *buf;
}
struct str_mlist {
char l_name[];
}
struct str_list {
int sl_nmods;
struct str_mlist *sl_modlist;
}
extern int
getmsg (int fd, /*@out@*/ struct strbuf *c, /*@out@*/ struct strbuf *d, int *f)
/*@modifies *c, *d, errno@*/;
extern int
getpmsg (int fd, /*@out@*/ struct strbuf *c, /*@out@*/ struct strbuf *d, int *b, int *f)
/*@modifies *b, *c, *d, errno@*/;
extern int
putmsg (int fd, const struct strbuf *c, const struct strbuf *d, int *f)
/*@modifies internalState, errno@*/;
extern int
putpmsg (int fd, const struct strbuf *c, const struct strbuf *d, int b, int *f)
/*@modifies internalState, errno@*/;
/*________________________________________________________________________
* sys/resource.h
*/
/*@constant int RLIMIT_CPU@*/
/*@constant int RLIMIT_FSIZE@*/
/*@constant int RLIMIT_DATA@*/
/*@constant int RLIMIT_STACK@*/
/*@constant int RLIMIT_CORE@*/
/*@constant int RLIMIT_RSS@*/
/*@constant int RLIMIT_MEMLOCK@*/
/*@constant int RLIMIT_NPROC@*/
/*@constant int RLIMIT_NOFILE@*/
/*@constant int RLIM_NLIMITS@*/
/*@constant int RLIM_INFINITY@*/
/*@constant int PRIO_MIN@*/
/*@constant int PRIO_MAX@*/
/*@constant int PRIO_PROCESS@*/
/*@constant int PRIO_PGRP@*/
/*@constant int PRIO_USER@*/
/*@constant int RUSAGE_SELF@*/
/*@constant int RUSAGE_CHILDREN@*/
struct rusage {
struct timeval ru_utime; /* user time used */
struct timeval ru_stime; /* system time used */
long ru_maxrss; /* max resident set size */
long ru_ixrss; /* integral shared memory size */
long ru_idrss; /* integral unshared data " */
long ru_isrss; /* integral unshared stack " */
long ru_minflt; /* page reclaims */
long ru_majflt; /* page faults */
long ru_nswap; /* swaps */
long ru_inblock; /* block input operations */
long ru_oublock; /* block output operations */
long ru_msgsnd; /* messages sent */
long ru_msgrcv; /* messages received */
long ru_nsignals; /* signals received */
long ru_nvcsw; /* voluntary context switches */
long ru_nivcsw; /* involuntary " */
};
struct rlimit {
long rlim_cur;
long rlim_max;
};
struct loadavg {
unsigned long ldavg[3];
long fscale;
};
extern int
getpriority (int which, int who)
/*@modifies errno@*/;
extern int
getrlimit (int res, /*@out@*/ struct rlimit *rlp)
/*@modifies *rlp, errno@*/;
extern int
getrusage (int who, /*@out@*/ struct rusage *rusage)
/*@modifies *rusage, errno@*/;
extern int
setpriority (int which, int who, int prio)
/*@modifies errno, internalState@*/;
extern int
setrlimit (int resource, const struct rlimit *rlp)
/*@modifies errno, internalState@*/;